﻿using System;
using System.ComponentModel.DataAnnotations;
using EPiServer;
using EPiServer.Core;
using EPiServer.DataAbstraction;
using EPiServer.DataAnnotations;
using EPiServer.SpecializedProperties;
using EPiServer.Web;
using EPiServer.XForms;

namespace BoostSite.Demo.Definitions.Templates._reference
{
	internal class LinkProperties
	{
		// ------------------------------------------------
		// PageReference
		// ------------------------------------------------ 
		[Display(
			Name = "PageLink",
			Description = "",
			GroupName = TabNames.Content,
			Order = 30)]
		public virtual PageReference PageLink { get; set; }

		
		// ------------------------------------------------
		// PropertyLinkCollection
		// ------------------------------------------------
		[Display(
			Name = "Links",
			Description = "",
			GroupName = TabNames.Content,
			Order = 60)]
		public virtual LinkItemCollection Links { get; set; }

		// ------------------------------------------------
		// PropertyUrl
		// ------------------------------------------------  
		[Display(
			Name = "Link",
			Description = "",
			GroupName = TabNames.Content,
			Order = 30)]
		public virtual Url Link { get; set; }


		// ------------------------------------------------
		// PropertyImageUrl
		// ------------------------------------------------
		[UIHint(UIHint.Image)]
		[Display(
			Name = "Image",
			Description = "",
			GroupName = TabNames.Content,
			Order = 40)]
		public virtual Url Image { get; set; }


		// ------------------------------------------------
		// PropertyDocumentUrl
		// ------------------------------------------------
		[UIHint(UIHint.Document)]
		[Display(
			Name = "File",
			Description = "",
			GroupName = TabNames.Content,
			Order = 50)]
		public virtual Url File { get; set; }
		
	}
}
